﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UniMana.Utils.Helper;
using DevExpress.XtraEditors;
using System.Windows.Forms;

namespace UniMana.Win.Systems
{
    public partial class a_FrmLogin
    {
        #region [Utils]

        //Load file nhac khi mở Form Login
        private void LoadMusic()
        {
            //m_spBackgroundMusic = new System.Media.SoundPlayer();
            ////m_spBackgroundMusic.Stream = Properties.Resources.MusicDHLA; //((System.IO.Stream)(resources.GetObject("MusicDHLA")));
            //m_spBackgroundMusic.PlayLooping();
        }

        //Kiểm tra dấu check từ Registry nếu bằng true thì đưa giá trị từ registry vào textbox username và pass 
        private void ReadRegistry()
        {
            //Nếu Registry trong hàng Rem có giá trị là true thì gán các giá trị vào textbox
            ClsRegistryOperator Reg = new ClsRegistryOperator();
            if (Reg.ReadRegistry(UniMana.Utils.Configs.ServerConfig.s_strNameRem) == "true")
            {
                this.ckbxRem.Checked = true;
                this.txtxUserName.Text = Reg.ReadRegistry("UserName");
                this.txtxPassword.Text = Reg.ReadRegistry("Password");
            }
            this.lblxVerson.Text = "Phiên bản:" + PublishVersion;
        }

        private static void ConfigConnection()
        {
            ClsRegistryOperator Reg = new ClsRegistryOperator();
            var Config = Reg.ReadRegistry(UniMana.Utils.Configs.ServerConfig.s_strNameServerConfig).ToString();

            //3 trường hợp:
            //1.Bằng false : cấu hình thủ công
            //2. = true : cấu  hình tự động từ internet
            //3. "" : cấu  hình tự động từ mạng nội bộ
            if (Config == UniMana.Utils.Configs.ServerConfig.s_strCustomConfig)
            {
                CustomConfig(Reg);
            }
            else
            {
                if (Config == UniMana.Utils.Configs.ServerConfig.s_strAutoConfigInternet)
                {
                    AutoConfigInternet();
                }
                else
                {
                    AutoConfigLocal();
                }
            }
        }

        private static void CustomConfig(ClsRegistryOperator Reg)
        {
            UniMana.Utils.Configs.ServerConfig.s_strServername = Reg.ReadRegistry(UniMana.Utils.Configs.ServerConfig.s_strNameServername); //Rỗng nghĩa là đăng nhập local
            UniMana.Utils.Configs.ServerConfig.s_strDataBase = Reg.ReadRegistry(UniMana.Utils.Configs.ServerConfig.s_strNameDataBase);
            if (UniMana.Utils.Configs.ServerConfig.s_strDataBase == "") //Kiểm tra không được rỗng
            {
                XtraMessageBox.Show("Bạn chưa nhập tên Cơ sở dữ liệu cần kết nối", "Thông báo lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            UniMana.Utils.Configs.ServerConfig.s_strLogin = Reg.ReadRegistry(UniMana.Utils.Configs.ServerConfig.s_strNameLogin);
            UniMana.Utils.Configs.ServerConfig.s_strPassSQL = Reg.ReadRegistry(UniMana.Utils.Configs.ServerConfig.s_strNamePassSQL); 
        }

        private static void AutoConfigLocal()
        {
            UniMana.Utils.Configs.ServerConfig.s_strServername = @"(local)";//rong nghia là local
            UniMana.Utils.Configs.ServerConfig.s_strDataBase = "UniMana"; //Data ko dc rong
            UniMana.Utils.Configs.ServerConfig.s_strLogin = "sa";
            UniMana.Utils.Configs.ServerConfig.s_strPassSQL = "cachua123456";
        }

        private static void AutoConfigInternet()
        {
            UniMana.Utils.Configs.ServerConfig.s_strServername = @"(local)";
            UniMana.Utils.Configs.ServerConfig.s_strDataBase = "UniMana";
            UniMana.Utils.Configs.ServerConfig.s_strLogin = "sa";
            UniMana.Utils.Configs.ServerConfig.s_strPassSQL = "cachua123456";
        }




        private static void SaveRegistry()
        {
            ClsRegistryOperator Reg = new ClsRegistryOperator();
            Reg.SaveInfoRegistry(UniMana.Utils.Configs.ServerConfig.s_strNameServername, @"(local)");
            Reg.SaveInfoRegistry(UniMana.Utils.Configs.ServerConfig.s_strNameDataBase, "UniMana");
            Reg.SaveInfoRegistry(UniMana.Utils.Configs.ServerConfig.s_strNameLogin, "sa");
            Reg.SaveInfoRegistry(UniMana.Utils.Configs.ServerConfig.s_strNamePassSQL, "cachua123456");
        }



        #endregion
    }
}
